package day27.homework;

public class hw8 { 
public static void main(String[] args) { 
// 创建一个匿名内部类形式的线程对象
Thread t = new Thread() { 
// 重写Thread类的run方法，定义线程执行的任务
public void run() { 
// 获取当前执行线程的名称
String name = Thread.currentThread().getName(); 
// 输出当前线程的名称
System.out.println(name); 
} 
}; 
// 启动线程，使其进入就绪状态，等待CPU调度执行
// 这会调用线程的run()方法，此时线程名称为"Thread-0"
// 分析：t.start()会创建一个新的线程并执行run()方法，新线程的名称默认为"Thread-0"
t.start(); 
// 直接调用run()方法，此时仍在main线程中执行
// 这会使得run()方法在main线程中同步执行，线程名称为"main"
// 分析：直接调用run()方法并不会启动新线程，而是在当前main线程中执行，因此线程名称为"main"
t.run(); 
// 运行过程分析：
// 1. main方法开始执行
// 2. 创建Thread匿名内部类对象t
// 3. 调用t.start()启动新线程，新线程执行run()方法，输出"Thread-0"
// 4. 直接调用t.run()在main线程中执行run()方法，输出"main"
// 5. 两个输出的顺序取决于线程调度，但通常"main"会先输出，因为start()需要时间初始化新线程
// 实际输出结果：
// main
// Thread-0
} 
}